﻿// Tischpreiskegeln
//
// vorgesehen für die FF Feichtenberg zur Unterstützung des alljährlich stattfindenen
// Tischpreiskegelns.
// 
// Autoren:
// Eder Philipp S0910438031
// Lutt Martin  S0910438076
// (FH Wels)
//
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace fff_preiskegeln
{
    public partial class Password : Form
    {
        #region Member

        private dbVerbindung verbindung;
        private int bereich;
        private bool passwordOk;

        #endregion

        #region Konstruktor

        /// <summary>
        /// Dem Konstruktor für das Log In Fenster muss das Objekt der Datenbankverbindung übergeben werden.
        /// </summary>
        /// <param name="db">die Datenbankverbindung</param>
        public Password(dbVerbindung db)
        {
            this.bereich = 0;
            this.passwordOk = false;
            this.verbindung = db;

            InitializeComponent();
        }

        #endregion

        #region Eigenschaften

        /// <summary>
        ///  Bereich zu dem der erfolgte Log In zugang hat (nur get)
        /// </summary>
        public int Bereich
        {
            get { return this.bereich; }
        }
        /// <summary>
        /// Gibt an ob Login erfolgreich war (nur get)
        /// </summary>
        public bool PasswordOk
        {
            get { return this.passwordOk; }
        }

        #endregion

        #region Events

        /// <summary>
        /// Klik Event: Log In 
        /// </summary>
        private void btnLogIn_Click(object sender, EventArgs e)
        {
            PwÜberprüfen();
        }
        /// <summary>
        /// KeyUp Event: Wenn Enter gedrückt(tbxPW), dann überprüfe Password
        /// </summary>
        private void tbxPW_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                PwÜberprüfen();
            }
        }
        /// <summary>
        /// KeyUp Event: Wenn Enter gedrückt(bxUser), dann überprüfte Password
        /// </summary>
        private void tbxUser_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                PwÜberprüfen();
            }
        }

        #endregion

        #region private Methoden

        /// <summary>
        /// Überprüft die eingegebenen Log In Daten und schließt das Fenster
        /// </summary>
        private void PwÜberprüfen()
        {
            string pw = string.Empty;
            try
            {
                verbindung.Password(this.tbxUser.Text.ToString(), out pw, out this.bereich);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Fehler");
            }
            if (pw == this.tbxPW.Text.ToString() && this.bereich > 0)
            {
                passwordOk = true;
            }
            // Fehlermeldung wenn Log In Daten nicht korrekt
            else
            {
                MessageBox.Show("Die Anmeldung ist fehlgeschlagen", "Anmeldung nicht möglich");
            }
            // Fenster schließen
            this.Close();
        }

        #endregion

    }
}
